#include <linux/tty.h>
#include <asm/system.h>

extern int printk(const char *fmt, ...);

#define PAGE_SIZE   4096

long user_stack[PAGE_SIZE >> 2];

struct {
    long *a;
    short b;
} stack_start = {&user_stack[PAGE_SIZE >> 2], 0x10};

void main(void)
{
    char buf[] = "For hardware functions such as input and output and memory allocation, the operating system acts as an intermediary between programs and the computer hardware,[1][2] although the application code is usually executed directly by the hardware and frequently makes system calls to an OS function or is interrupted by it. Operating systems are found on many devices that contain a computer – from cellular phones and video game consoles to web servers and supercomputers.";
    tty_init();
    printk("%s", buf);
    cli();
    while (1);
}
